package com.zq.it.service.exam;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.zq.it.dao.common.PageConfig;
import com.zq.it.pojo.Student;
import com.zq.it.pojo.exam.TPaper;
import com.zq.it.pojo.exam.data.ObjectData;
import com.zq.it.pojo.exam.data.PaperData;
import com.zq.it.service.BaseService;

public interface ExamService extends BaseService {

	/**
	 * 分页获取学生的考试列表
	 * 
	 * @param config
	 * @return
	 */
	ObjectData getMyExamList(PageConfig config);

	/**
	 * 获取考试剩余时间
	 * 
	 * @param id
	 * @return
	 */
	Long getLeftTimeByPaperId(long id);

	/**
	 * 校验和提交学生试卷
	 * 
	 * @param examResultId
	 * @param student
	 * @param paper
	 * @param request
	 * @param response
	 * @return
	 */
	String addValidateAndSubmitMyExam(Long examResultId, Student student,
			PaperData paperData, HttpServletRequest request,
			HttpServletResponse response);

	/**
	 * 获取自己的考试详情
	 * 
	 * @param long1
	 * @param student
	 * @return
	 */
	Map getMyExamResult(Long long1, Student student);

	/**
	 * 多条件查询我的考试信息
	 * 
	 * @param paper
	 * @param state
	 * @return
	 */
	String creatMyExamHql(TPaper paper, Integer state, Student student);
}
